﻿using System.Text;

namespace Gqq.Csharpindepth.Common
{
   public class Details
    {
       /// <summary>
       /// 特别注意，sb只是实参引用的一个值。就是说sb的值和实参引用的值是一样的。可以认为都指向了一个地址。
       /// 如实参的值是ox22af24，那么sb也是这样的。
       /// 如果在这里改变了sb的指向，对于实参是没有影响的
       /// </summary>
       /// <param name="sb"></param>
       /// <param name="isChange"> </param>
       public static void TestStringBuilder(StringBuilder sb, bool isChange=true)
       {
           if (isChange)
               sb.Append("changed");
           else
// ReSharper disable RedundantAssignment
           {
               //在这里，改变形参的值，不会影响实参的变化。只有改变形参的内容才可以
               sb = null;
           }
// ReSharper restore RedundantAssignment
       }
    }
}
